package com.sicpa.common.core.domain.entity;

import com.sicpa.common.annotation.Excel;
import com.sicpa.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
import java.util.List;

/**
 * anti_counterfeiting_registered_office
 *
 * @author lwf
 */
public class AntiCounterfeitingRegisteredOffice extends BaseEntity {

    private static final long serialVersionUID = 1L;

    private Long officeId;

    /**
     * 事务所编号（分所）
     */
    @Excel(name = {"事务所编号", "事务所编号（分所）"})
    private String officeNumber;

    @Excel(name = "事务所编号（分所）")
    private String branchOfficeSign;

    /**
     * 事务所名称
     */
    @Excel(name = "事务所名称")
    private String firmName;

    @Excel(name = "事务所名称（分所）")
    private String firmNameBranch;

    /**
     * 事务所执业证书编号
     */
    @Excel(name = {"事务所执业证书编号", "事务所执业证书编号（分所）"})
    private String practiceCertificateNo;

    /**
     * 事务所执业证书编号（分所）
     */
    @Excel(name = {"事务所执业证书编号（分所）"})
    private String practiceCertificateNoFs;



    /**
     * 事务所字号
     */
    @Excel(name = "事务所字号")
    private String officeSignNo;

    /**
     * 事务所状态
     */
    @Excel(name = {"事务所状态", "事务所状态（分所）"})
    private String firmStatus;

    /**
     * 事务所类型
     */
    @Excel(name = "事务所类型")
    private String typeOfFirm;

    /**
     * 主任会计师/首席合伙人证书编号
     */
    @Excel(name = "主任会计师/首席合伙人证书编号")
    private String certificateNoOfResponsity;

    /**
     * 负责人姓名
     */
    @Excel(name = {"主任会计师/首席合伙人姓名", "负责人姓名"})
    private String nameOfChargePerson;

    /**
     * 组织形式
     */
    @Excel(name = "组织形式")
    private String organizationalForm;

    /**
     * 设立方式
     */
    @Excel(name = "设立方式")
    private String methodsOfIncorporation;

    /**
     * 是否拥有证券资格
     */
    @Excel(name = "是否有证券资格")
    private String haveSecuritiesQualification;

    /**
     * 是否拥有H股资格
     */
    @Excel(name = "是否有H股资格")
    private String haveHShareQualification;

    /**
     * 所属省份
     */
    @Excel(name = {"所属省份", "分所所属省份"})
    private String province;

    /**
     * 所属区县
     */
    @Excel(name = "所属区县")
    private String district;

    /**
     * 统一社会信用代码
     */
    @Excel(name = "统一社会信用代码")
    private String unifiedSocialCreditCode;

    /**
     * 批准执业文号
     */
    @Excel(name = {"批准执业文号", "批准文号"})
    private String licenseNo;

    /**
     * 批准执业日期
     */
    @Excel(name = {"批准执业日期", "批准日期"},vDateFormat = "yyyy-MM-dd")
    private String approvedPracticeDate;

    /**
     * 批准部门
     */
    @Excel(name = "批准部门")
    private String approvalDepartment;

    /**
     * 股东合伙人数
     */
    @Excel(name = "股东合伙人数")
    private String numberOfPartners;

    /**
     * 注册会计师数量
     */
    @Excel(name = "注册会计师数量")
    private String numberOfCpas;

    /**
     * 分所注册师数量
     */
    @Excel(name = "其中分所注师数量")
    private String numberOfBranchRegisteredEngineers;
    /**
     * 专职从业人员数量
     */
    @Excel(name = "专职从业人员数量")
    private String numberOfFullTimePractitioner;

    /**
     * 注册资本（万元）
     */
    @Excel(name = "注册资本(万元)")
    private String registeredCapital;

    /**
     * 通信地址
     */
    @Excel(name = "通讯地址")
    private String mailingAddress;

    /**
     * 邮政编码
     */
    @Excel(name = "邮政编码")
    private String postalCode;

    /**
     * 传真
     */
    @Excel(name = "传真")
    private String fax;

    /**
     * 联系人(财政系统)
     */
    @Excel(name = "联系人")
    private String contacts;

    /**
     * 联系电话(财政系统)
     */
    @Excel(name = "联系电话")
    private String contactNumber;

    /**
     * 联系人手机号(财政系统)
     */
    @Excel(name = "联系人手机号")
    private String phoneNumberOfContactPerson;

    /**
     * 操作人
     */
    @Excel(name = "操作人")
    private String operator;

    /**
     * 联系电话（操作人）
     */
    @Excel(name = "事务所联系电话")
    private String operatorNumber;

    /**
     * 操作人手机号
     */
    @Excel(name = "操作人手机号")
    private String phoneNumberOfOperator;

    /**
     * 经营场所
     */
    @Excel(name = "经营场所")
    private String placeOfBusiness;

    /**
     * 工商登记部门
     */
    @Excel(name = "工商登记部门")
    private String registrationDepartment;

    /**
     * 总所/分所
     */
    private String headOfficeOrBranchOffice;

    /**
     * 事务所系统状态,1:启用，2：停用
     */
    private Integer status = 1;

    /**
     * 事务所绑定的系统账号id
     */
    private Long systemAccountId;

    /**
     * 事务所执业证书
     */
    private Long practiceCertificateFileId;

    /**
     * 事务所执业证书临时字段
     */
    private String practiceCertificateFile;

    /**
     * 社会信用代码证
     */
    private Long accountantCertificateFileId;

    /**
     * 社会信用代码证 临时字段
     */
    private String accountantCertificateFile;


    /**
     * 签字注会1证书
     */
    private Long registerCertificateOneFileId;

    /**
     * 签字注会1 临时字段
     */
    private String registerCertificateOneFile;

    /**
     * 签字注会2 证书
     */
    private Long registerCertificateTwoFileId;

    /**
     * 签字注会2 临时字段
     */
    private String registerCertificateTwoFile;
    /**
     * 0：待审核，1：审核通过，-2：审核不通过，2：无需审核
     */
    private Integer auditStatus;

    /**
     * 密码，外省事务所注册使用
     */
    private String password;

    /**
     * 审核通过理由
     */
    private String optReason;

    /**
     * 审核ren
     */
    private String optUser;


    /**
     * 过期时间
     */
    private LocalDate effectTime;

    /**
     * 是否外省注册
     */
    private Integer isRegister;

    /**
     * 是否长期注册
     * @return
     */
    private Integer isForever;

    /**
     * uuid,图片验证码接口返回
     */
    private String uuid;

    /**
     * 图片验证码
     */
    private String code;

    /**
     * 批准执业日期开始日期
     */
    private String approvedPracticeDateStartTime;

    /**
     * 批准执业日期结束日期
     */
    private String approvedPracticeDateEndTime;

    private List<SysUser> officeUserList;

    public String getApprovedPracticeDateStartTime() {
        return approvedPracticeDateStartTime;
    }

    public void setApprovedPracticeDateStartTime(String approvedPracticeDateStartTime) {
        this.approvedPracticeDateStartTime = approvedPracticeDateStartTime;
    }

    public String getApprovedPracticeDateEndTime() {
        return approvedPracticeDateEndTime;
    }

    public void setApprovedPracticeDateEndTime(String approvedPracticeDateEndTime) {
        this.approvedPracticeDateEndTime = approvedPracticeDateEndTime;
    }

    public Integer getIsForever() {
        return isForever;
    }

    public void setIsForever(Integer isForever) {
        this.isForever = isForever;
    }

    public LocalDate getEffectTime() {
        return effectTime;
    }

    public void setEffectTime(LocalDate effectTime) {
        this.effectTime = effectTime;
    }

    public Integer getIsRegister() {
        return isRegister;
    }

    public void setIsRegister(Integer isRegister) {
        this.isRegister = isRegister;
    }

    public String getPracticeCertificateFile() {
        return practiceCertificateFile;
    }

    public void setPracticeCertificateFile(String practiceCertificateFile) {
        this.practiceCertificateFile = practiceCertificateFile;
    }

    public String getAccountantCertificateFile() {
        return accountantCertificateFile;
    }

    public void setAccountantCertificateFile(String accountantCertificateFile) {
        this.accountantCertificateFile = accountantCertificateFile;
    }

    public String getOptReason() {
        return optReason;
    }

    public void setOptReason(String optReason) {
        this.optReason = optReason;
    }

    public Long getSystemAccountId() {
        return systemAccountId;
    }

    public void setSystemAccountId(Long systemAccountId) {
        this.systemAccountId = systemAccountId;
    }

    public Long getOfficeId() {
        return officeId;
    }

    public void setOfficeId(Long officeId) {
        this.officeId = officeId;
    }

    public String getOfficeNumber() {
        return officeNumber;
    }

    public void setOfficeNumber(String officeNumber) {
        this.officeNumber = officeNumber;
    }

    public String getPracticeCertificateNo() {
        return practiceCertificateNo;
    }

    public void setPracticeCertificateNo(String practiceCertificateNo) {
        this.practiceCertificateNo = practiceCertificateNo;
    }

    public String getFirmName() {
        return firmName;
    }

    public void setFirmName(String firmName) {
        this.firmName = firmName;
    }

    public String getOfficeSignNo() {
        return officeSignNo;
    }

    public void setOfficeSignNo(String officeSignNo) {
        this.officeSignNo = officeSignNo;
    }

    public String getFirmStatus() {
        return firmStatus;
    }

    public void setFirmStatus(String firmStatus) {
        this.firmStatus = firmStatus;
    }

    public String getTypeOfFirm() {
        return typeOfFirm;
    }

    public void setTypeOfFirm(String typeOfFirm) {
        this.typeOfFirm = typeOfFirm;
    }

    public String getCertificateNoOfResponsity() {
        return certificateNoOfResponsity;
    }

    public void setCertificateNoOfResponsity(String certificateNoOfResponsity) {
        this.certificateNoOfResponsity = certificateNoOfResponsity;
    }

    public String getNameOfChargePerson() {
        return nameOfChargePerson;
    }

    public void setNameOfChargePerson(String nameOfChargePerson) {
        this.nameOfChargePerson = nameOfChargePerson;
    }

    public String getOrganizationalForm() {
        return organizationalForm;
    }

    public void setOrganizationalForm(String organizationalForm) {
        this.organizationalForm = organizationalForm;
    }

    public String getMethodsOfIncorporation() {
        return methodsOfIncorporation;
    }

    public void setMethodsOfIncorporation(String methodsOfIncorporation) {
        this.methodsOfIncorporation = methodsOfIncorporation;
    }

    public String getHaveSecuritiesQualification() {
        return haveSecuritiesQualification;
    }

    public void setHaveSecuritiesQualification(String haveSecuritiesQualification) {
        this.haveSecuritiesQualification = haveSecuritiesQualification;
    }

    public String getHaveHShareQualification() {
        return haveHShareQualification;
    }

    public void setHaveHShareQualification(String haveHShareQualification) {
        this.haveHShareQualification = haveHShareQualification;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public String getUnifiedSocialCreditCode() {
        return unifiedSocialCreditCode;
    }

    public void setUnifiedSocialCreditCode(String unifiedSocialCreditCode) {
        this.unifiedSocialCreditCode = unifiedSocialCreditCode;
    }

    public String getLicenseNo() {
        return licenseNo;
    }

    public void setLicenseNo(String licenseNo) {
        this.licenseNo = licenseNo;
    }

    public String getApprovedPracticeDate() {
        return approvedPracticeDate;
    }

    public void setApprovedPracticeDate(String approvedPracticeDate) {
        this.approvedPracticeDate = approvedPracticeDate;
    }

    public String getApprovalDepartment() {
        return approvalDepartment;
    }

    public void setApprovalDepartment(String approvalDepartment) {
        this.approvalDepartment = approvalDepartment;
    }

    public String getNumberOfPartners() {
        return numberOfPartners;
    }

    public void setNumberOfPartners(String numberOfPartners) {
        this.numberOfPartners = numberOfPartners;
    }

    public String getNumberOfCpas() {
        return numberOfCpas;
    }

    public void setNumberOfCpas(String numberOfCpas) {
        this.numberOfCpas = numberOfCpas;
    }

    public String getNumberOfBranchRegisteredEngineers() {
        return numberOfBranchRegisteredEngineers;
    }

    public void setNumberOfBranchRegisteredEngineers(String numberOfBranchRegisteredEngineers) {
        this.numberOfBranchRegisteredEngineers = numberOfBranchRegisteredEngineers;
    }

    public String getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(String registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public String getMailingAddress() {
        return mailingAddress;
    }

    public void setMailingAddress(String mailingAddress) {
        this.mailingAddress = mailingAddress;
    }

    public String getPostalCode() {
        return postalCode;
    }

    public void setPostalCode(String postalCode) {
        this.postalCode = postalCode;
    }

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getPhoneNumberOfContactPerson() {
        return phoneNumberOfContactPerson;
    }

    public void setPhoneNumberOfContactPerson(String phoneNumberOfContactPerson) {
        this.phoneNumberOfContactPerson = phoneNumberOfContactPerson;
    }

    public String getPlaceOfBusiness() {
        return placeOfBusiness;
    }

    public void setPlaceOfBusiness(String placeOfBusiness) {
        this.placeOfBusiness = placeOfBusiness;
    }

    public String getHeadOfficeOrBranchOffice() {
        return headOfficeOrBranchOffice;
    }

    public void setHeadOfficeOrBranchOffice(String headOfficeOrBranchOffice) {
        this.headOfficeOrBranchOffice = headOfficeOrBranchOffice;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRegistrationDepartment() {
        return registrationDepartment;
    }

    public void setRegistrationDepartment(String registrationDepartment) {
        this.registrationDepartment = registrationDepartment;
    }

    public Long getPracticeCertificateFileId() {
        return practiceCertificateFileId;
    }

    public void setPracticeCertificateFileId(Long practiceCertificateFileId) {
        this.practiceCertificateFileId = practiceCertificateFileId;
    }

    public Long getAccountantCertificateFileId() {
        return accountantCertificateFileId;
    }

    public void setAccountantCertificateFileId(Long accountantCertificateFileId) {
        this.accountantCertificateFileId = accountantCertificateFileId;
    }

    public String getBranchOfficeSign() {
        return branchOfficeSign;
    }

    public void setBranchOfficeSign(String branchOfficeSign) {
        this.branchOfficeSign = branchOfficeSign;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getFirmNameBranch() {
        return firmNameBranch;
    }

    public void setFirmNameBranch(String firmNameBranch) {
        this.firmNameBranch = firmNameBranch;
    }

    public String getPracticeCertificateNoFs() {
        return practiceCertificateNoFs;
    }

    public void setPracticeCertificateNoFs(String practiceCertificateNoFs) {
        this.practiceCertificateNoFs = practiceCertificateNoFs;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Long getRegisterCertificateOneFileId() {
        return registerCertificateOneFileId;
    }

    public void setRegisterCertificateOneFileId(Long registerCertificateOneFileId) {
        this.registerCertificateOneFileId = registerCertificateOneFileId;
    }

    public String getRegisterCertificateOneFile() {
        return registerCertificateOneFile;
    }

    public void setRegisterCertificateOneFile(String registerCertificateOneFile) {
        this.registerCertificateOneFile = registerCertificateOneFile;
    }

    public Long getRegisterCertificateTwoFileId() {
        return registerCertificateTwoFileId;
    }

    public void setRegisterCertificateTwoFileId(Long registerCertificateTwoFileId) {
        this.registerCertificateTwoFileId = registerCertificateTwoFileId;
    }

    public String getRegisterCertificateTwoFile() {
        return registerCertificateTwoFile;
    }

    public void setRegisterCertificateTwoFile(String registerCertificateTwoFile) {
        this.registerCertificateTwoFile = registerCertificateTwoFile;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getPhoneNumberOfOperator() {
        return phoneNumberOfOperator;
    }

    public void setPhoneNumberOfOperator(String phoneNumberOfOperator) {
        this.phoneNumberOfOperator = phoneNumberOfOperator;
    }

    public List<SysUser> getOfficeUserList() {
        return officeUserList;
    }

    public void setOfficeUserList(List<SysUser> officeUserList) {
        this.officeUserList = officeUserList;
    }

    public String getOperatorNumber() {
        return operatorNumber;
    }

    public void setOperatorNumber(String operatorNumber) {
        this.operatorNumber = operatorNumber;
    }

    public String getNumberOfFullTimePractitioner() {
        return numberOfFullTimePractitioner;
    }

    public void setNumberOfFullTimePractitioner(String numberOfFullTimePractitioner) {
        this.numberOfFullTimePractitioner = numberOfFullTimePractitioner;
    }

    public String getOptUser() {
        return optUser;
    }

    public void setOptUser(String optUser) {
        this.optUser = optUser;
    }
}
